#ifndef OPTIMUM_H
#define OPTIMUM_H

#include <QWidget>
#include "funcx.h"
#include <list>
using namespace std;

namespace Ui {
    class Optimum;
}

class Optimum : public QWidget
{
    Q_OBJECT

public:
    explicit Optimum(QWidget *parent = 0);
    ~Optimum();

private:
    Ui::Optimum *ui;
signals:
//	void signalGetFunc(CFunc**,double*, double*);
//	void signalGo(CFunc *f, double a, double b, double *reps, int *rstep, QPointF *min, list<QPointF> *experiments);
//	void signalPlot(CFunc *f, double a, double b, list<QPointF> experiments, QPointF min);


	void signalGetFunc(CFuncX *&f, Piped &p); /*QFuncX*/
	void signalGo(CFuncX *f, const Piped &p, vector<double> &min, list<vector<double> > &experiments); /*QMethodX*/
	void signalPlot(CFuncX *f, const Piped &p, const vector<double> &min, const list<vector<double> > &listOfExperiments); /*QPlotX*/

private slots:
	void on_pushButton_released();
};

#endif // OPTIMUM_H
